package com.gxa.modules.service;

import com.gxa.common.vo.Q;
import com.gxa.common.vo.ResultVo;
import com.gxa.modules.pojo.*;

import java.sql.Date;

/**
 * Created with IntelliJ IDEA.
 * User: zdk
 * Date: 2021/12/29 17:50
 * Description:
 * Version: V1.0
 */
public interface LsFinanceService {
    /**
     * 新增财务订单信息
     * @param forders 财务订单实体
     * @return ResultVo
     */
    ResultVo addForders(Forders forders);

    /**
     * 新增财务用户信息
     * @param financeUser 财务用户实体
     * @return ResultVo
     */
    ResultVo addFinanceUser(Finance_User financeUser);

    /**
     * 员工工资发放记录
     * @param todayDate 财务工资发放记录
     * @return ResultVo
     */
    ResultVo addFinancePayment(Date todayDate);

    /**
     * 员工工资调整信息
     * @param financeAdjustment 财务工资调整信息
     * @return ResultVo
     */
    ResultVo addFinanceAdjustment(Finance_Adjustment financeAdjustment);

    /**
     * 今日财务账单汇总
     * @param currentPage 当前页
     * @param limitPage   显示条数
     * @param startDate   开始日期
     * @param endDate     结束日期
     * @return  Q
     */
    Q queryFinanceToday(Integer currentPage, Integer limitPage, Date startDate, Date endDate);

    /**
     * 每日对账
     * @param shopId 门店账号
     * @return ResultVo
     */
    ResultVo queryFinanceDaily(Integer shopId);

    /**
     *
     * @param queryFinancePayment 日结记录查询实体
     * @return 日结记录查询
     */
    Q queryFinancePaymentList(QueryFinancePayment queryFinancePayment);

    /**
     *
     * @param shopId 门店id
     * @return 财务员工查询结果集
     */
    ResultVo queryFinanceEmployee(Integer shopId);

    /**
     *
     * @param search 搜索条件
     * @param currentPage 当前页
     * @param limitPage   显示条数
     * @param shopId 门店id
     * @return 日结记录搜索条件结果集
     */
    Q queryFinancePaymentListSearch(String search, Integer currentPage, Integer limitPage, Integer shopId);
}
